package gamefw.gameplugin;

/**
 * The Class represents a Game Entity. A game entity is some abstract entity that 
 * belongs to a game. It could be, for instance, a piece that is placed in a board
 * position. Each game entity should hold a concrete implementation of a VisualEntity.
 */
public abstract class GameEntity implements IFace {

	/**
	 * Initializes the game entity.
	 */
	public abstract void initGameEntity();
	
	/**
	 * This method displays the game entity. It should call the draw method on its
	 * equivalent VisualEntity.
	 */
	public abstract void display();
	
	/**
	 * Sets the position of the entity in the board.
	 *
	 * @param position the new position
	 */
	public abstract void setPosition(Coordinate position);
}
